package com.hmy.uaa.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hmy.uaa.bo.response.UserResponse;
import com.hmy.uaa.po.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserMapper extends BaseMapper<User> {

    /**
     * 根据手机号获取用户信息
     *
     * @param phone 手机号
     * @return 返回用户信息
     */
    User getUserInfo(@Param("phone") String phone);

    /**
     * 新增用户，获取主键
     *
     * @param po 用户参数
     */
    void insertUser(@Param("po") User po);

    /**
     * 查询用户
     *
     * @param user 请求用户参数
     * @return Page<UserResponse> 返回查询数据
     */
    Page<UserResponse> queryPage(Page<User> page, @Param("user") User user);

    /**
     * 根据部门和所属企业查询该部门下绑定短信的用户
     *
     * @param departmentId 请求部门id
     * @param companyId 所属企业id
     * @return List<User> 返回查询数据
     */
    List<User> queryBindSmsUser(@Param("departmentId") Long departmentId, @Param("companyId") Long companyId);

}